#ifndef MAIN_MODBUS_H
#define MAIN_MODBUS_H
/* 只做信号转换使用
 * 由于私有协议是在ModBus基础上进行修改的协议，在这里只需要对协议进行转换（改为无CRC校验，加上地址偏移）
 * ModBus消息输入接口，通过该模块转为内部总线信号
 * */

#ifdef __cplusplus
extern "C"{
#endif

#include <stdint.h>
#include <stddef.h>
#include <stdlib.h>

#define MB_DEFAULT_UART_BUFFER_LEN 128

//拓展模块描述信息块
extern uint8_t ModBusSlaveID;
extern uint8_t *ModBus_Uart_Tx_Ptr;
extern uint8_t Addr_Offset[16][4];
extern uint16_t ModBus_CallBack_delay;

extern uint8_t ModBus_busy_flag;

//直接调用 ModeBus_DealWith函数进行处理即可完成操作，得到串口返回值
void ModeBus_DealWith(uint8_t* _data,uint16_t _len);//串口接收消息处理函数

void ModeBus_Init(uint8_t slave_id);

void ModBus_To_PrivateBus(uint8_t* _data,uint16_t _len);
void PrivateBus_To_ModBus(uint8_t* _data,uint16_t _len);


void ModeBus_Send_Task(void);
#ifdef __cplusplus
};
#endif
#endif

